import { BasicColumn } from '/@/components/Table';
import { FormSchema } from '/@/components/Table';
import { rules } from '/@/utils/helper/validator';
import { render } from '/@/utils/common/renderUtils';
import { UploadTypeEnum } from '/@/components/Form/src/jeecg/components/JUpload';
//列表数据
export const columns : BasicColumn[] = [
	{
		title: '标题',
		align: "center",
		dataIndex: 'infoTitle'
	},
	{
		title: '消息分类',
		align: "center",
		dataIndex: 'infoType_dictText'
	},
	{
		title: '通知方式',
		align: "center",
		dataIndex: 'sendType_dictText'
	},
	{
		title: 'icon',
		align: "center",
		dataIndex: 'icon',
		customRender: render.renderImage,
	},
	{
		title: '消息内容',
		align: "center",
		dataIndex: 'infoContent'
	},
	{
		title: '消息说明',
		align: "center",
		dataIndex: 'infoMsg'
	},
];
//查询数据
export const searchFormSchema : FormSchema[] = [
	{
		label: "消息分类",
		field: 'infoType',
		component: 'JTreeDict',
		componentProps: { async: true, parentCode: 'B01-199' },
		//colProps: {span: 6},
	},
	{
		label: "消息内容",
		field: 'infoContent',
		component: 'Input',
		//colProps: {span: 6},
	},
];
//表单数据
export const formSchema : FormSchema[] = [
	{
		label: '标题',
		field: 'infoTitle',
		component: 'Input',
	},
	{
		label: '消息分类',
		field: 'infoType',
		component: 'JTreeDict',
		componentProps: { async: true, parentCode: 'B01-199' },
	},
	{
		label: '通知方式',
		field: 'sendType',
		component: 'JDictSelectTag',
		componentProps: {
			dictCode: 'info_send_type'
		},
	},
	{
		label: '消息内容',
		field: 'infoContent',
		component: 'InputTextArea'

	},
	{
		label: '图标',
		field: 'icon',
		component: 'JUpload',
		helpMessage: '最多上传1张图片',
		componentProps: {
			fileType: UploadTypeEnum.image,
			maxCount: 1,
		},
	},

	{
		label: '消息说明',
		field: 'infoMsg',
		component: 'InputTextArea',
	},
	{
		label: '租户',
		field: 'tenantId',
		component: 'JDictSelectTag',
		componentProps: {
			dictCode: "sys_tenant,name,id"
		},
		show: false
	},
	// TODO 主键隐藏字段，目前写死为ID
	{
		label: '',
		field: 'id',
		component: 'Input',
		show: false
	},
];



/**
* 流程表单调用这个方法获取formSchema
* @param param
*/
export function getBpmFormSchema(_formData) : FormSchema[] {
	// 默认和原始表单保持一致 如果流程中配置了权限数据，这里需要单独处理formSchema
	return formSchema;
}